1. Field of the Invention
Embodiments of the invention generally relate to debugging tools. More specifically, embodiments of the invention relate to a debugging tool for distributed runtime diagnostics in hierarchical parallel environments.
2. Description of the Related Art
In software systems that process data across a wide array of heterogeneous processing elements, the various communication layers may not necessarily provide guarantees of data integrity. An example of such a software system is a distributed parallel application that includes parts executing on multiple x86 processors and parts executing on multiple Cell BE processors. A software developer may have created a complex distributed application that passed unit tests. When the distributed application executes, however, the data returned may differ slightly from expected results.
In such scenarios, identifying the cause of such a data anomaly across a distributed heterogeneous landscape may be very difficult. The cause may be a software bug, a hardware failure, or a design flaw. This poses challenges to ensuring data integrity, to ensuring software system integrity, to performance analysis, and to fast, efficient development of hierarchical parallel software.